<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>DATAFAK</title>
    <style>
        .box code{
            border: 3px solid red;
            font-size: 35px;
      
        }
.box{
    text-align: center;

}
    </style>
</head>
<body>
    <h1 style="text-align: center;">JSQQ:137666693<br>EsDev@qq.com</h1>
    <h1 style="text-align: center;">只要结果是好的 过程苦点没关系</h1>
<div class="box">
    <h3>字段名称中 将涉及“刷单”、“捡漏”等字段的数据删除</h3>
    <code>
        df = df[~df["名称"].str.contains("刷单|捡漏",na=False)]
    </code>
    <h1 style="font-size: 90px;">contains要记住</h1>
    <br>
    <br>
</div>
<div class="box">
    <h3>编写MapReduce程序，实现以下功能：根据
        user_impression这一字段，统计买家对商家销售的手机商
        品的印象，结果按照印象数降序排序，格式为：
        (user_impression,次数)，如：(性价比高,10)，结果保存
        至HDFS，在控制台读取HDFS文件输出各组人数，将结果截
        图粘贴至客户端桌面【Release\提交结果.docx】中对应的
        任务序号下。</h3>
    <code>
        NULL
    </code>
    <h1 style="font-size: 90px;">JOBMAIN.JAVA不好写</h1>
    <br>
    <br>
</div>


<div class="box">
    <h3>
        构建DataFrame
        
    </h3>
    <code>
        POS = pd.DataFrame({
            "test":["TEST1","TEST2"],
            "demo":["Fadasdas","sdadsads"]
        })
        print(POS)
    </code>
    <h1 style="font-size: 90px;">DATA格式</h1>
    <br>
    <br>
</div>



<div class="box">
    <h3>
        构建DataFrame
        
    </h3>
    <code>
        df['date'] = pd.to_datetime(df['date'])  # 确保日期列是 datetime 类型
        df = df.sort_values(by='date').reset_index(drop=True)

    </code>
    <h1 style="font-size: 90px;">转换并排序by='date'升序  ascending=False降序</h1>
    <br>
    <br>
</div>

<div class="box">
    <h3>
        构建函数
        
    </h3>
    <code>
        def uu(val):
        if ((val["weekday"] in "星期六|星期日" ) & (val["lowest_tem"]>=18) &(val["hightest_tem"]<=30) and "雨"not in val["weather"]):
            return "是"
        return "否"
    

    df["是否适合出行游玩"] = df.apply(uu,axis=1)
    </code>
    <h1 style="font-size: 90px;">若当日为周六周日，气温大于等于 18 度小于等于 30 度，并且不下雨，打标签为‘是’；否则打标签为‘否’</h1>
    <br>
    <br>
</div>



<div class="box">
    <h3>
        NULL
        
    </h3>
    <code>
        df = df.dropna(subset=["shopping"])
    </code>
    <h1 style="font-size: 90px;">删除shopping字段中为空的行</h1>
    <br>
    <br>
</div>


<div class="box">
    <h3>
        输出文件
        
    </h3>
    <code>
df.to_csv(f"hotel2_c1_{N}.csv",index=False)
    </code>
    <h1 style="font-size: 90px;">输出文件   最后一定要index=False!!!!</h1>
    <br>
    <br>
</div>

<div class="box">
    <h3>
        填充空值
        
    </h3>
    <code>
        # 
        df.loc[df["score"].isnull(),"score"] = 0
    </code>
    <h1 style="font-size: 90px;">loc函数的使用不要记混了!!!</h1>
    <br>
    <br>
</div>




<div class="box">
    <h3>
        函数
        
    </h3>
    <code>
        # 计算最大值
        max_value = np.max(arr)
        
        # 计算最小值
        min_value = np.min(arr)
        
        # 计算均值
        mean_value = np.mean(arr)
        
        # 计算中位数
        median_value = np.median(arr)
        
        # 计算计数
        count_value = arr.size
        
        # 聚合
        groupby()[]
    </code>
    <h1 style="font-size: 90px;">常用函数</h1>
    <br>
    <br>
</div>

<div class="box">
    <h3>
        删除字段
        
    </h3>
    <code>
        # 方式一
        DELlng = df.drop('lng',axis=1)
        # 方式二
eledrop = df.drop(["lng","lat"],axis=1)
    </code>
    <h1 style="font-size: 90px;">哪个看着简单就用哪个!!!</h1>
    <br>
    <br>
</div>



<div class="box">
    <h3>
        特殊字符去除
        
    </h3>
    <code>
        # 将“详细地址”中的特殊字符去除
        df["详细地址"] = df["详细地址"].str.replace("?"," ", regex=False)
    </code>
    <h1 style="font-size: 90px;">Replace函数的使用</h1>
    <br>
    <br>
</div>


<div class="box">
    <h3>
        填充函数
        
    </h3>
    <code>
        df["朝向"] = df["朝向"].fillna("未知朝向")
    </code>
    <h1 style="font-size: 90px;">Fillna函数的使用</h1>
    <br>
    <br>
</div>


<div class="box">
    <h3>
        四分位清洗法
        
    </h3>
    <code>
        # 使用四分位清洗检测异常值
        Q1 = df["价格"].quantile(0.75)
        Q2 = df["价格"].quantile(0.25)
        
        IQR = Q1 - Q2
        
        Upper = Q1+1.5*IQR
        Lower = Q2-1.5*IQR
        
        #识别异常值
        Out = df[(df["价格"]<Lower)|(df["价格"]>Upper)]
        
        
        print("异常值范围值")
        print(f"上界{Upper}")
        print(f"下界{Lower}")
        print(f"异常值总数{len(Out)}")
        df.to_csv("r_M2_1_2_3.csv",index=False)
    </code>
    <h1 style="font-size: 90px;">四分位清洗方法</h1>
    <br>
    <br>
</div>







</body>
</html>